//
//  Header.h
//  SwiftDeveloper
//
//  Created by 李爽 on 15/11/13.
//  Copyright (c) 2015年 Shawn Li. All rights reserved.
//

#pragma mark - 标签
var label = UILabel(frame:CGRectMake(10,20, 300, 100))
label.text="hangge.com"
//1.背景颜色和文字颜色的设置
label.textColor=UIColor.whiteColor()  //白色文字
label.backgroundColor=UIColor.blackColor() //黑色背景
//2.对齐方式的设置
label.textAlignment=NSTextAlignment.Right //文字右对齐
//3.文字阴影的设置
label.shadowColor=UIColor.grayColor()  //灰色阴影
label.shadowOffset=CGSizeMake(-5,5)  //阴影的偏移量
//4.字体的设置
label.font = UIFont(name:"Zapfino", size:20)
//5.文字过长时的省略方式
label.lineBreakMode=NSLineBreakMode.ByTruncatingTail  //隐藏尾部并显示省略号
label.lineBreakMode=NSLineBreakMode.ByTruncatingMiddle  //隐藏中间部分并显示省略号
label.lineBreakMode=NSLineBreakMode.ByTruncatingHead  //隐藏头部并显示省略号
label.lineBreakMode=NSLineBreakMode.ByClipping  //截去多余部分也不显示省略号
//6.文字大小自适应标签宽度
label.adjustsFontSizeToFitWidth=true //当文字超出标签宽度时，自动调整文字大小，使其不被截断
//7.使标签可以显示多行文字
label.numberOfLines=2  //显示两行文字（默认只显示一行，设为0表示没有行数限制）
//8.设置文本高亮
//设置文本高亮
label.highlighted = true
//设置文本高亮颜色
label.highlightedTextColor = UIColor.greenColor()
//9.富文本设置
//富文本设置
var attributeString = NSMutableAttributedString(string:"welcome to hangge.com")
//从文本0开始6个字符字体HelveticaNeue-Bold,16号
attributeString.addAttribute(NSFontAttributeName, value: UIFont(name: "HelveticaNeue-Bold", size: 16)!,
                             range: NSMakeRange(0,6))
//设置字体颜色
attributeString.addAttribute(NSForegroundColorAttributeName, value: UIColor.blueColor(),
                             range: NSMakeRange(0, 3))
//设置文字背景颜色
attributeString.addAttribute(NSBackgroundColorAttributeName, value: UIColor.greenColor(),
                             range: NSMakeRange(3,3))
label.attributedText = attributeString



#pragma mark - 按钮
1.按钮的文字设置
button.setTitle("普通状态", forState:UIControlState.Normal) //普通状态下的文字
button.setTitle("触摸状态", forState:UIControlState.Highlighted) //触摸状态下的文字
button.setTitle("禁用状态", forState:UIControlState.Disabled) //禁用状态下的文字
2.按钮文字颜色的设置
button.setTitleShadowColor(UIColor.greenColor(),forState:.Normal) //普通状态下文字阴影的颜色
button.setTitleShadowColor(UIColor.yellowColor(),forState:.Highlighted) //普通状态下文字阴影的颜色
button.setTitleShadowColor(UIColor.grayColor(),forState:.Disabled) //普通状态下文字阴影的颜色
3.按钮背景颜色设置
button.backgroundColor=UIColor.blackColor()
4.按钮文字图标的设置
button.setImage(UIImage(named:"icon1"),forState:.Normal)  //设置图标
button.adjustsImageWhenHighlighted=false //使触摸模式下按钮也不会变暗
button.adjustsImageWhenDisabled=false //使禁用模式下按钮也不会变暗
5.设置按钮背景图片
button.setBackgroundImage(UIImage(named:"background1"),forState:.Normal)
6.常用的触摸事件类型：
TouchDown：单点触摸按下事件，点触屏幕
TouchDownRepeat：多点触摸按下事件，点触计数大于1，按下第2、3或第4根手指的时候
TouchDragInside：触摸在控件内拖动时
TouchDragOutside：触摸在控件外拖动时
TouchDragEnter：触摸从控件之外拖动到内部时
TouchDragExit：触摸从控件内部拖动到外部时
TouchUpInside：在控件之内触摸并抬起事件
TouchUpOutside：在控件之外触摸抬起事件
TouchCancel：触摸取消事件，即一次触摸因为放上太多手指而被取消，或者电话打断


#pragma mark - 文本输入框
1.几个样式：
UITextBorderStyle.None：无边框
UITextBorderStyle.Line：直线边框
UITextBorderStyle.RoundedRect：圆角矩形边框
UITextBorderStyle.Bezel：边线+阴影
2.文字大小超过文本框长度时自动缩小字号，而不是隐藏显示省略号
textField.adjustsFontSizeToFitWidth=true  //当文字超出文本框宽度时，自动调整文字大小
textField.minimumFontSize=14  //最小可缩小的字号
3.水平/垂直对齐方式
/** 水平对齐 **/
textField.textAlignment = .Right //水平右对齐
textField.textAlignment = .Center //水平居中对齐
textField.textAlignment = .Left //水平左对齐

/** 垂直对齐 **/
textField.contentVerticalAlignment = .Top  //垂直向上对齐
textField.contentVerticalAlignment = .Center  //垂直居中对齐
textField.contentVerticalAlignment = .Bottom  //垂直向下对齐
4.背景图片设置
textField.borderStyle = .None //先要去除边框样式
textField.background=UIImage(named:"background1");
5.清除按钮（输入框内右侧小叉）
textField.clearButtonMode=UITextFieldViewMode.WhileEditing  //编辑时出现清除按钮
textField.clearButtonMode=UITextFieldViewMode.UnlessEditing  //编辑时不出现，编辑后才出现清除按钮
textField.clearButtonMode=UITextFieldViewMode.Always  //一直显示清除按钮
6.设置文本框关联的键盘类型
Default：系统默认的虚拟键盘
ASCII Capable：显示英文字母的虚拟键盘
Numbers and Punctuation：显示数字和标点的虚拟键盘
URL：显示便于输入数字的虚拟键盘
Number Pad：显示便于输入数字的虚拟键盘
Phone Pad：显示便于拨号呼叫的虚拟键盘
Name Phone Pad：显示便于聊天拨号的虚拟键盘
Email Address：显示便于输入Email的虚拟键盘
Decimal Pad：显示用于输入数字和小数点的虚拟键盘
Twitter：显示方便些Twitter的虚拟键盘
Web Search：显示便于在网页上书写的虚拟键盘
7.使文本框在界面打开时就获取焦点，并弹出输入键盘
textField.becomeFirstResponder()
textField.resignfirstresponder()//使文本框失去焦点，并收回键盘
8.设置键盘return键的样式
textField.returnKeyType = UIReturnKeyType.Done //表示完成输入
textField.returnKeyType = UIReturnKeyType.Go //表示完成输入，同时会跳到另一页
textField.returnKeyType = UIReturnKeyType.Search //表示搜索
textField.returnKeyType = UIReturnKeyType.Join //表示注册用户或添加数据
textField.returnKeyType = UIReturnKeyType.Next //表示继续下一步
textField.returnKeyType = UIReturnKeyType.Send //表示发送

#pragma mark - 多行文本输入框（UITextView）的用法
1.是否可编辑
textview.editable=false
2.内容是否可选
textview.selectable=false
3.给文字中的电话号码和网址自动加链接
textview.dataDetectorTypes = UIDataDetectorTypes.None //都不加链接
textview.dataDetectorTypes = UIDataDetectorTypes.PhoneNumber //只有电话加链接
textview.dataDetectorTypes = UIDataDetectorTypes.Link //只有网址加链接
textview.dataDetectorTypes = UIDataDetectorTypes.All //电话和网址都加
4.自定义选择内容后的菜单
我们在看新闻或小说的时候，常常在点选文字后会弹出菜单进行选择，复制等操作。我们可以在这个菜单上添加一些其他内容，如加上“邮件”“微信”等按钮选项
class ViewController: UIViewController {
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        let textview=UITextView(frame:CGRectMake(10,100,200,100))
        textview.layer.borderWidth=1  //边框粗细
        textview.layer.borderColor=UIColor.grayColor().CGColor //边框颜色
        self.view.addSubview(textview)
        
        let mail = UIMenuItem(title: "邮件", action: "onMail")
        let weixin = UIMenuItem(title: "微信", action: "onWeiXin")
        let menu = UIMenuController()
        menu.menuItems = [mail,weixin]
    }
    
    func onMail(){
        print("mail")
    }
    func onWeiXin(){
        print("weixin")
    }
}

